}
}
- _createStream(filename) {
+ _createStream(filename, invocation) {
if (filename == '')
return [Gio.MemoryOutputStream.new_resizable(), null];
let stream = file.replace(null, false, Gio.FileCreateFlags.NONE, null);
return [stream, file];
} catch (e) {
+ invocation.return_value(GLib.Variant.new('(bs)', [false, '']));
return [null, null];
}
}
return [stream, file];
} catch (e) {
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.EXISTS))
- return [null, null];
+ break;
}
}
+ invocation.return_value(GLib.Variant.new('(bs)', [false, '']));
return [null, null];
}
if (!screenshot)
return;
- let [stream, file] = this._createStream(filename);
+ let [stream, file] = this._createStream(filename, invocation);
+ if (!stream)
+ return;
screenshot.screenshot_area(x, y, width, height, stream,
(o, res) => {
if (!screenshot)
return;
- let [stream, file] = this._createStream(filename);
+ let [stream, file] = this._createStream(filename, invocation);
+ if (!stream)
+ return;
screenshot.screenshot_window(includeFrame, includeCursor, stream,
(o, res) => {
if (!screenshot)
return;
- let [stream, file] = this._createStream(filename);
+ let [stream, file] = this._createStream(filename, invocation);
+ if (!stream)
+ return;
screenshot.screenshot(includeCursor, stream,
(o, res) => {